{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 对模型结构的理解\n",
    "答：该模型是单层神经网络，输入层是2个，分别是x（为1 × 784的向量）和b(为1 × 10的向量), 输出层节点有10个。\n",
    "\n",
    "# 对模型训练过程（梯度如何计算，参数如何更新）的理解\n",
    "答： 梯度的计算是根据代价函数（a - y）^2对w求偏导数算出的。这里参数的更新主要是权重参数w的更新。w的更新是在每批数据训练完成后对梯度的该变量取平均得到的。\n",
    "\n",
    "# 计算图的理解\n",
    "答：初始状态W为正态分布的784 × 10 的向量， b的初始状态是 1 × 10 的0向量，每批训练32个数据,每对一条数据训练一次，会进行一个前向和反向传播，记录下每个权重需要更新的值（这里的值为代价函数对w的梯度再乘上学习率），在这一批数据训练完成后，会对每个权重需要更新的值取一个平均并更新。\n",
    "\n",
    "# 解释这⾥的模型为什么效果⽐较差\n",
    "答：效果差的原因主要有三个：\n",
    "1. 这是一个单层的神经网络\n",
    "2. 学习率可能不合适\n",
    "3. 循环训练的次数不足或者在有限的循环次数下batch设置的太小"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.8"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
